/**
 * 地图基本配置
 *    入参：
 *          1、mapConfig            地图初始化需要的基础信息
 *                  {
 *                    id: string        地图容器id
                      lng: number       经度
                      lat: number       纬度
                      zoom: number      缩放等级
 *                  }
            5、mapOptions: object   初始化地图的配置项

 *    返参：
            1、map               地图实例
 * */
export const BMAP_INIT = (mapConfig = {}, options = {}) => {
  return new Promise(resolve => {
    const { id, lng, lat, zoom = 15 } = mapConfig
    // 1、创建地图实例
    const map = new BMapGL.Map(id, options)
    // 2、创建点坐标
    const point = new BMapGL.Point(lng, lat)
    // 2、设置地图级别
    map.centerAndZoom(point, zoom)
    // 3、开启鼠标滚轮缩放
    map.enableScrollWheelZoom(true)
    // 4、添加控件 （每一项可接受参数：{anchor:'',offset:''}）
    map.addControl(new BMapGL.ScaleControl({ offset: new BMapGL.Size(10, 10) })) // 添加比例尺控件
    map.addControl(new BMapGL.ZoomControl()) // 添加缩放控件
    // map.addControl(new BMapGL.CityListControl()) // 添加城市列表控件
    map.addControl(new BMapGL.LocationControl()) // 添加获取定位控件
    // 5、个性化地图，支持在线更新
    map.setMapStyleV2({ styleId: 'c98632849b36686d3ad4c54947075b73' })
    resolve(map)
  })
}
